package com.mukefile.dao;

import com.mukefile.pojo.Manager;
import com.mukefile.pojo.User;

import java.util.List;

/**
 * @Author: kenewstar
 * @Description: 管理员业务逻辑层
 * @Date: Created in 2020/5/6
 */
public interface ManagerDao {
    /**
     * 管理员登录
     * @param manager 管理员登录的信息
     * @return 返回所有信息
     */
    Manager selectManagerInfo(Manager manager);

    /**
     * 显示所有用户信息
     * @return 返回所有用户信息
     */
    List<User> showAllUser();

    /**
     * 修改用户密码
     * @param uid 用户id
     * @return 返回是否成功
     */
    int updateUserPwd(Integer uid);

    /**
     * 根据用户id查询用户
     * @param uid 用户id
     * @return 返回用户信息
     */
    User selectUserById(Integer uid);

    /**
     * 修改用户的磁盘大小
     * @param uid 用户id
     * @param size 扩容大小
     * @return 返回扩容是否成功
     */
    int updateDiskAvail(Integer uid,Integer size);

    /**
     * 根据用户名关键字模糊查询用户
     * @param username 用户名关键字
     * @return 返回查询结果
     */
    List<User> selectUserByLike(String username);

    /**
     * 根据用户名查询用户是否存在
     * @param username
     * @return 返回用户结果集
     */
    List<User> selectUserByName(String username);

    /**
     * 添加用户
     * @param user 用户信息
     * @return 返回是否成功
     */
    int insertUser(User user);

    /**
     * 获取最后一条用户
     * @return 获取最后一个用户信息
     */
    User getLastUser();

    /**
     * 根据名称获取管理员信息
     * @param name 管理员名
     * @return 返回管理员信息
     */
    Manager selectManagerByName(String name);
}
